]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
8 years agologinDialog: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Sat, 7 Jul 2018 11:30:18 +0000 (13:30 +0200)]
loginDialog: Stop using Shell.GenericContainer

Removing the Shell.GenericContainer from the login dialog
was remarkably easier, since it only overrides 'allocate'.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agolayoutManager: Subclass GObject.Object
Georges Basile Stavracas Neto [Tue, 21 Aug 2018 10:13:30 +0000 (07:13 -0300)]
layoutManager: Subclass GObject.Object

LayoutManager is currently a pure JavaScript class that
relies on the rudimentary Signals.addSignalMethods() to
handle signals. This is an inefficient implementation of
one of the most central classes in GNOME Shell.

In addition to removing Shell.GenericContainer, then,
turn LayoutManager into a proper GObject.Object subclass.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agolayoutManager: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Sat, 7 Jul 2018 11:12:33 +0000 (13:12 +0200)]
layoutManager: Stop using Shell.GenericContainer

This one was remarkably easy to port. In order to make it,
replace the Shell.GenericContainer handlers by a constraint
and simply replace it by a St.Widget.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoworkspaceSwitcherPopup: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Sun, 15 Jul 2018 21:00:07 +0000 (18:00 -0300)]
workspaceSwitcherPopup: Stop using Shell.GenericContainer

Removing Shell.GenericContainer here was slightly trickier
because it required factoring out a new JavaScript class.

It's nevertheless a straightforward removal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agomessageTray: Drop Shell.GenericContainer usage
Georges Basile Stavracas Neto [Fri, 6 Jul 2018 08:55:23 +0000 (10:55 +0200)]
messageTray: Drop Shell.GenericContainer usage

Nothing particularly outstanding with this class - it was
a straightforward removal and subclassing.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agobuttonBox: Drop Shell.GenericContainer usage
Georges Basile Stavracas Neto [Fri, 6 Jul 2018 08:48:15 +0000 (10:48 +0200)]
buttonBox: Drop Shell.GenericContainer usage

Another easy port.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoappMenuButton: Rename show/hide to fadeIn/fadeOut
Georges Basile Stavracas Neto [Tue, 21 Aug 2018 09:48:19 +0000 (06:48 -0300)]
appMenuButton: Rename show/hide to fadeIn/fadeOut

In the next commit, we will turn PanelMenu.ButtonBox into a
St.Widget subclass. As a domino effect, PanelMenu.Button will
become one too, and so will Panel.AppMenuButton.

When that happens, the current show() and hide() functions in
Panel.AppMenuButton will clash with Clutter.Actor's ones.

To avoid that, rename these functions to fadeIn() and fadeOut()
and avoid a name clash.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agothumbnailBox: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Fri, 6 Jul 2018 08:01:39 +0000 (10:01 +0200)]
thumbnailBox: Stop using Shell.GenericContainer

This is another straight port from Shell.GenericContainer.
The important thing to notice is that the calculation is
broken if the StThemeNode helpers (adjust_preferred_* and
adjust_for_*) aren't used.

The downside of this patch is that it removed the skip_paint
from the thumbnails. Keeping it would add an unecessarily
large amount of code.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoiconGrid: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Mon, 2 Jul 2018 14:03:07 +0000 (11:03 -0300)]
iconGrid: Stop using Shell.GenericContainer

Removing Shell.GenericContainer from the IconGrid class was
challenging because it needs the "skip paint" API from it.
This API was added, too, as a workaround to the inability
to override vfuncs from GJS.

The overrides are largely copy-pasted and translated versions
of the Shell.GenericContainer code.

The IconGrid:key-focus-in signal was renamed to :child-focused
to avoid clashing with ClutterActor:key-focus-in.

In GridSearchResults, the internal IconGrid had it's y_expand
set to false, so it doesn't push other search elements (the
list results mainly) to the bottom of the screen.

Because skip paint wasn't and still isn't a GObject property,
rename it to _skipPaint to reflect that.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoiconGrid: Rename ::key-focus-in signal
Georges Basile Stavracas Neto [Tue, 21 Aug 2018 09:21:26 +0000 (06:21 -0300)]
iconGrid: Rename ::key-focus-in signal

As part of our quest to obsolete Shell.GenericContainer, IconGrid will
become a Clutter.Actor subclass. As the ::key-focus-in signal would
clash with Clutter.Actor::key-focus-in, rename it to ::child-focused.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agodash: Set scale and opacity on parent actor
Georges Basile Stavracas Neto [Thu, 23 Aug 2018 15:17:21 +0000 (12:17 -0300)]
dash: Set scale and opacity on parent actor

DashItemContainer currently animates the scale and opacity
of its child when zooming in. This is visible when adding
a new favorite item to the dash; the items will zoom in from
the center.

After the previous commit, however, the zoom animation got
slightly broken, and looked like the icon was coming from
the bottom instead of the center.

Fix that by setting the scale and opacity of DashItemContainer
itself, instead of its child. Remove the unused code after that
too.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agobaseIcon: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Sat, 30 Jun 2018 18:00:08 +0000 (15:00 -0300)]
baseIcon: Stop using Shell.GenericContainer

Pretty much like the previous patches, this extends St.Bin. The
most interesting aspect of this patch is that most of the sizing
routines of the icons is now delegated to the actors and layout
managers, removing quite a bunch of code.

The 'spacing' theme property is now redirected to StBoxLayout's
spacing property. Also adjust the Dash code to stop forcing a
potentially invalid width in the first icon too.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agowindowIcon: Subclass St.BoxLayout
Georges Basile Stavracas Neto [Wed, 15 Aug 2018 19:02:49 +0000 (16:02 -0300)]
windowIcon: Subclass St.BoxLayout

Following the previous work, turn WindowIcon into a
St.BoxLayout subclass, and remove the this.actor
field from it.

8 years agost-box-layout: Pass correct allocation box to layout manager
Georges Basile Stavracas Neto [Fri, 24 Aug 2018 00:41:00 +0000 (21:41 -0300)]
st-box-layout: Pass correct allocation box to layout manager

StBoxLayout implements StScrollable, which, semantically, means that
the StBoxLayout size may not match the minimum size reported by the
layout manager. In this specific case, the layout manager by is a
ClutterBoxLayout by default. For example:

        +--------------+
        |   Viewport   |
 +------+--------------+-----------------+
 |      |              |                 |
 |      |              |     Content     |
 |      |              |                 |
 +------+--------------+-----------------+
        |              |
        +--------------+

So, assuming that:

 - ContentSize = the minimum size of the content;
 - ViewportSize = the allocated size of the viewport;

When allocating StBoxLayout, it must assume ViewportSize, but must
pass ContentSize to the layout manager. That way, the children of
StBoxLayout are correctly placed within it, even if it's bigger than
ViewportSize.

And here's the problem: right now, StBoxLayout assumes ViewportSize
AND also passes it to layout manager. Commit 77c4c6b6d specifically
exposed this bug by relying entirely on StBoxLayout to arrange the
app and window icons.

Fix that by using ViewportSize to allocate StBoxLayout itself, but
passing ContentSize to the layout manager.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoswitcherList: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Thu, 28 Jun 2018 15:34:01 +0000 (12:34 -0300)]
switcherList: Stop using Shell.GenericContainer

This commit removes all the uses of Shell.GenericContainer from
SwitcherPopup.SwitcherList. Compared to the other patches, this
one was specially trickier to get right, and a few invasive
changes needed to be done.

The most noticeable one is that the allocation of the items is
done entirely by St.BoxLayout -- we don't manually allocate them
anymore. To make it work, get_preferred_width() had to calculate
the correct value. It now assumes that:

 * Minimum width: the minimum width of the widest child.
 * Natural width: the minimum width of the StBoxLayout (use it
   instead of the natural width to force the labels to ellipsize
   when too long.)

The AppIcon class became a St.Widget subclass as well, to override
get_preferred_width() and be able to keep the squared shape.

Besides that, add a new SwitcherButton class to reimplement squared
icons without having to resort to hacks in the size allocation
machinery. This class has a single vfunc override to ensure that it
is squared when the SwitcherList is.

The arrows indicating multiple windows are now in this._list
actor to the SwitcherPopup itself, since this._list automatically
manages its own children now.

At last, adapt (but preserve) the hack in CyclerPopup.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoswitcherList: Remove unused variable
Georges Basile Stavracas Neto [Thu, 28 Jun 2018 21:37:44 +0000 (18:37 -0300)]
switcherList: Remove unused variable

The title is self-explanatory, 'primary' was not being used
anywhere.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoswitcherPopup: Use MonitorConstraint instead of vfunc overrides
Georges Basile Stavracas Neto [Thu, 23 Aug 2018 16:35:43 +0000 (13:35 -0300)]
switcherPopup: Use MonitorConstraint instead of vfunc overrides

Instead of overriding vfunc_get_preferred_width|height(), use the
already available Layout.MonitorConstraint to bind SwitcherPopup
to the primary monitor.

8 years agoswitcherPopup: Subclass St.Widget
Georges Basile Stavracas Neto [Mon, 13 Aug 2018 23:14:55 +0000 (20:14 -0300)]
switcherPopup: Subclass St.Widget

This commit turns SwitcherPopup.SwitcherPopup into a St.Widget
subclass, and gets rid of Shell.GenericContainer usage. Subclasses
were adapted to that too.

This class introduced a new challenge: it overrides show(). As per
discussions, we now call this.visible = true inside show().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoswitcherPopup: Rename destroy() to fadeAndDestroy()
Georges Basile Stavracas Neto [Mon, 13 Aug 2018 23:05:50 +0000 (20:05 -0300)]
switcherPopup: Rename destroy() to fadeAndDestroy()

In the process of purging all usages of Shell.GenericContainer
of GNOME Shell, one specific problematic situation that might
occur is when classes have functions that would clash with any
ClutterActor or StWidget function name.

One of such example is SwitcherPopup.destroy(). Right now, this
class is a pure JavaScript class that wraps a real actor, but
soon this will change, and it'll become a St.Widget subclass.

Another problem with functions that mimic the toolkit ones is
the predictability of them; after calling destroy(), that widget
is expected to not be available anymore. In SwitcherPopup case,
it is still available for a short while. In this case, that's not
a big problem, but the show() and hide() functions in other clases
are more problematic because the actor's visibility does not
follow that.

This commit is a first step in cleaning that up, and changes the
SwitcherPopup.destroy() to fadeAndDestroy().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agopanel: Stop using Shell.GenericContainer
Georges Basile Stavracas Neto [Wed, 27 Jun 2018 19:02:15 +0000 (16:02 -0300)]
panel: Stop using Shell.GenericContainer

Shell.GenericContainer exposes the size negotiation machinery
through the use of signals. Signals are not specially performant.
One of the reasons is that they acquire a global lock for signal
handlers lookup. GNOME Shell has more than 2,000 actors at any
given point in time, up to 20 levels deep in hierarchy, making
size negotiation and painting non-trivial tasks. Such a critical
section of Clutter's machinery shouldn't rely on signals
whatsoever.

Regardless of that, Shell.GenericContainer is a workaround to
a non-existing issue anymore. It shouldn't be used anyway, and
any performance improvements that removing it can potentially
yield are bonuses to it.

This commit starts this work by removing Shell.GenericContainer
usage from Panel.Panel class. The class now extends St.Widget,
and as such, it has no "this.actor" field set anymore. A couple
of places where this actor field was used are adjuste as well.

It is important to notice that we now allocate the Panel itself
inside vfunc_allocate(). This was previously done before emitting
the signal by Shell.GenericContainer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153

8 years agoBump version to 3.30.1
Florian Müllner [Mon, 8 Oct 2018 18:35:07 +0000 (20:35 +0200)]
Bump version to 3.30.1

Update NEWS.

8 years agofileUtils: Make loadInterfaceXML usable from tests
Florian Müllner [Mon, 8 Oct 2018 19:24:00 +0000 (21:24 +0200)]
fileUtils: Make loadInterfaceXML usable from tests

The current code assumes that the resource has been installed,
which isn't the case when running distcheck.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/255

8 years agoinputMethod: Use forward_key() method to forward key events
Carlos Garnacho [Thu, 27 Sep 2018 19:09:02 +0000 (21:09 +0200)]
inputMethod: Use forward_key() method to forward key events

ClutterVirtualInputDevice has the limitation that event flags won't be
made to contain CLUTTER_EVENT_FLAG_INPUT_METHOD, possibly causing feedback
loops.

As the event gets injected up the platform dependent bits, we can avoid
care on not pressing the same key twice, we still expect coherence between
key presses and releases from the IM though.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/531

8 years agoappFavorites: Don't add app explicitly
Florian Müllner [Sun, 12 Aug 2018 00:17:42 +0000 (02:17 +0200)]
appFavorites: Don't add app explicitly

When adding a favorite, we add the ID to the list of favorites, save the
setting and add the new app to the favorites map. However as writing the
settings value already results in reload() to update the favorites map,
the new app is usually already in the map when we add it.

The only exception is when the ID was found in the RENAMED_DESKTOP_IDS map,
in which case we end up adding both the renamed app and the original one.
Fix this by simply relying on reload() to properly update the map, just like
we already do in _removeFavorite().

https://gitlab.gnome.org/GNOME/gnome-shell/issues/471

8 years agolayout: Don't update input region on wayland
Florian Müllner [Tue, 4 Sep 2018 15:35:39 +0000 (17:35 +0200)]
layout: Don't update input region on wayland

We already see all events on wayland, so we can save us the work
of computing the XFixes region there.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/273

8 years agocloseDialog: Untrack chrome when window loses focus
Florian Müllner [Tue, 4 Sep 2018 11:53:24 +0000 (13:53 +0200)]
closeDialog: Untrack chrome when window loses focus

On X11, reactive chrome must be added to the input region in order
to work as expected. However that region works independently from
any window stacking, with the result that the unresponsive-app dialog
currently blocks all input in the "covered" area, even in windows
stacked above the unresponsive window.

The correct fix would be to track the unobscured parts of the dialog
and set the input region from that, but that's quite cumbersome. So
instead, only track chrome when the corresponding window is focused
(or the dialog itself of course).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/273

8 years agoautomountManager: Explicitly track active operations
Florian Müllner [Fri, 5 Oct 2018 17:09:28 +0000 (19:09 +0200)]
automountManager: Explicitly track active operations

As a mount operation's UI may be reused (for example after mistyping
the password), we only close the operation once the mount has finished
(successfully or with error).

We therefore need to track ongoing operations, which we currently do
by monkey-patching the corresponding volume object. However while the
underlying GVolume object indeed remains the same through-out the
operation, the JS wrapper object isn't referenced anywhere and may
thus be garbage collected, resulting in a stuck dialog.

Fix this issue by tracking active operations explicitly, so that all
involved objects are referenced until the end of the operation.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/565

8 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Mon, 8 Oct 2018 12:47:45 +0000 (12:47 +0000)]
Update Chinese (Taiwan) translation

8 years agoUpdated Czech translation
Marek Černocký [Sun, 7 Oct 2018 12:27:08 +0000 (14:27 +0200)]
Updated Czech translation

8 years agoviewSelector: Don't unfocus other modals on reset
Andrea Azzarone [Thu, 4 Oct 2018 13:05:44 +0000 (14:05 +0100)]
viewSelector: Don't unfocus other modals on reset

Don't drop the key focus on Clutter's side if anything but the overview has
pushed a modal (e.g. system modals when activated using the overview).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/618
8 years agoinputMethod: Fix setting surrounding text
Florian Müllner [Tue, 11 Sep 2018 13:36:35 +0000 (15:36 +0200)]
inputMethod: Fix setting surrounding text

The underlying ibus method expects an object of type IBusText rather
than a plain string.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/228

8 years agoappFavorites: Add evince to rename list
Bastien Nocera [Thu, 4 Oct 2018 15:54:01 +0000 (17:54 +0200)]
appFavorites: Add evince to rename list

Evince 3.30 changed the desktop filename. Without this patch,
evince will disappear from the dock.

8 years agoUpdate Belarusian translation
Yuras Shumovich [Wed, 3 Oct 2018 11:40:33 +0000 (11:40 +0000)]
Update Belarusian translation

8 years agoUpdate Finnish translation
Jiri Grönroos [Tue, 2 Oct 2018 17:00:51 +0000 (17:00 +0000)]
Update Finnish translation

8 years agoUpdate Serbian translation
Марко Костић [Tue, 2 Oct 2018 16:53:31 +0000 (16:53 +0000)]
Update Serbian translation

8 years agoUpdate Russian translation
Stas Solovey [Tue, 2 Oct 2018 15:24:13 +0000 (15:24 +0000)]
Update Russian translation

8 years agoUpdate Hungarian translation
Balázs Meskó [Tue, 2 Oct 2018 15:21:02 +0000 (15:21 +0000)]
Update Hungarian translation

8 years agore-commit Danish translation as exported from damned lies in order to re-enable suspi...
Ask Hjorth Larsen [Tue, 2 Oct 2018 14:32:58 +0000 (16:32 +0200)]
re-commit Danish translation as exported from damned lies in order to re-enable suspicious obsolete strings.  Related to #614.

8 years agoUpdate Galician translation
Fran Dieguez [Sun, 30 Sep 2018 16:19:43 +0000 (16:19 +0000)]
Update Galician translation

8 years agoUpdated Czech translation
Marek Černocký [Sun, 30 Sep 2018 06:55:19 +0000 (08:55 +0200)]
Updated Czech translation

8 years agoUpdate Polish translation
Piotr Drąg [Thu, 27 Sep 2018 19:50:11 +0000 (21:50 +0200)]
Update Polish translation

8 years agoUpdate Serbian translation
Марко Костић [Wed, 26 Sep 2018 21:24:57 +0000 (21:24 +0000)]
Update Serbian translation

8 years agohistory: Stop saving non-consecutive duplicate entries
Pascal Nowack [Sat, 22 Sep 2018 15:43:22 +0000 (17:43 +0200)]
history: Stop saving non-consecutive duplicate entries

Whenever a command runs in the run dialog, it
will be added to the history unless it is
already the last entry. This does not apply
for entries that are not consecutive, which can
result in long chains of commands which
alternate, e.g. lg, r, lg, r, lg, r. Not only is
this wasteful in terms of space, but also
inconsistent with how history works elsewhere,
e.g. in the shell.

Therefore, remove entries in the history that are
equal to the one that will be added to the end of
of the history when the entry already exists.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/524

8 years agonetworkAgent: Ask for wifi secrets in the hints paremeter
Andrew Zaborowski [Tue, 18 Sep 2018 03:47:43 +0000 (05:47 +0200)]
networkAgent: Ask for wifi secrets in the hints paremeter

The `hints` and `settingName` parameters to the agent call may define
the specific list of secrets NM actually needs from the user.  This
seems to have been the intended use of these two parameters but only
recently did NM with the IWD backend start to use this to request 802.1x
secrets.  So if `hints` is provided, ask user for the specific secrets
listed there and don't even look at what type of EAP method is in use.
Only the three types of secrets actually in use by NM's IWD backend are
supported for now -- they happen to be the same three that
_get8021xSecrets() had already supported.

8 years agoshell: Fix list of GIR includes
Florian Müllner [Fri, 14 Sep 2018 21:14:33 +0000 (23:14 +0200)]
shell: Fix list of GIR includes

gjs now relies entirely on introspection data to determine parent
types and implemented interfaces, so in order to have all methods
and properties resolve correctly, we must include the corresponding
GIRs of all types used.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/574

8 years agobuild: Remove obsolete soup dependency
Florian Müllner [Fri, 14 Sep 2018 22:16:47 +0000 (00:16 +0200)]
build: Remove obsolete soup dependency

It's unused since commit 96396163c ...

https://gitlab.gnome.org/GNOME/gnome-shell/issues/574

8 years agokeyboard: Listen to IbusPanelService::focus-in/out to track focus changes
Carlos Garnacho [Tue, 18 Sep 2018 10:54:29 +0000 (12:54 +0200)]
keyboard: Listen to IbusPanelService::focus-in/out to track focus changes

In X11 there's no input panel state requests, so restore the previous behavior
that focused entries would always toggle the OSK on there.

8 years agokeyboard: Filter redundant FocusTracker::position-changed signals
Carlos Garnacho [Mon, 17 Sep 2018 19:04:48 +0000 (21:04 +0200)]
keyboard: Filter redundant FocusTracker::position-changed signals

Just emit the signal if it did actually change.

8 years agoworkspacesView: initialize self._restackedNotifyId
Will Thompson [Tue, 25 Sep 2018 22:00:53 +0000 (23:00 +0100)]
workspacesView: initialize self._restackedNotifyId

This attribute was previously only assigned in show(). hide() compares
this attribute to 0. If hide() is called before show() is first called,
the comparison would give the correct result (undefined > 0 is false)
but log a warning:

    JS WARNING: [resource:///org/gnome/shell/ui/workspacesView.js 529]:
    reference to undefined property "_restackedNotifyId"

Initialize this attribute in _init(), alongside _scrollEventId and
_keyPressEventId which are also used in hide().

8 years agoendSessionDialog: squash "reference to undefined property" warning
Will Thompson [Tue, 25 Sep 2018 17:01:36 +0000 (18:01 +0100)]
endSessionDialog: squash "reference to undefined property" warning

dialogContent is set to one of the elements of the list DialogContent,
but not all of those have a checkBoxText property. When logging out (as
opposed to shutting down), this causes a warning:

    JS WARNING: [resource:///org/gnome/shell/ui/endSessionDialog.js
    763]: reference to undefined property "checkBoxText"

(The line number corresponds to this line in 3.28.3.)

The warning is apparently not triggered if the undefined property is
used as part of a boolean expression:

    gjs> var x = {};
    gjs> x.a;
    typein:2:1 strict warning: reference to undefined property "a"
    gjs> if (x.b) { log('oh no'); }
    gjs> x.c || ''
    ""
_setCheckBoxLabel() just checks the truthiness of its 'text' argument,
and the empty string is false-y, so passing '' rather than undefined has
no functional effect.

8 years agosubmodules: Replace non-functional git.gnome.org URL by GNOME Gitlab URL
Andre Klapper [Tue, 25 Sep 2018 06:41:30 +0000 (08:41 +0200)]
submodules: Replace non-functional git.gnome.org URL by GNOME Gitlab URL

Fixes #606

8 years agoUpdate Estonian translation
Mart Raudsepp [Sun, 23 Sep 2018 21:32:41 +0000 (21:32 +0000)]
Update Estonian translation

8 years agoUpdate Estonian translation
Madis O [Sun, 23 Sep 2018 21:23:58 +0000 (21:23 +0000)]
Update Estonian translation

8 years agoFix connection to wifi APs from user menu (RH #1628263)
Adam Williamson [Tue, 18 Sep 2018 23:05:42 +0000 (16:05 -0700)]
Fix connection to wifi APs from user menu (RH #1628263)

In recent Fedora 29, connecting to wifi access points from the
user menu (top-right menu) does not work. Clicking the 'Connect'
button just animates it but does nothing else. The logs show an
error "JS ERROR: Error: Expected type utf8 for Argument
'specific_object' but got type 'undefined'".

Looking into this, it seems the problem is these uses of the
`path` property of an NMAccessPoint. NMAccessPoint inherits
from NMObject, and NMObject *does* have a path property:

https://developer.gnome.org/libnm/stable/NMObject.html#NMObject--path

so at first glance this seems fine. But I poked around a bit
using libnm via Python (which goes via introspection, just like
this JS code does), and found that indeed AccessPoint objects
don't seem to have a `path` property there either.

Looking at the libnm code, this actually makes sense, because
the property is marked "(skip)":

https://github.com/NetworkManager/NetworkManager/blob/master/libnm/nm-object.c#L1291

and the introspection docs suggest that means it should be left
out of introspected output:

https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations#Symbol_visibility

I'm a bit concerned that this was only found recently - whereas
the change to use `.path` in gnome-shell dates from October 2017
(d71af5e5) and the property has been marked (skip) in NM since
at least 2016 - but this all seems to add up. The obvious fix is
to replace use of `.path` with `.get_path()`, which returns the
path and is *not* marked (skip) and so *is* available via
introspection. I tested that this works in Python and also did
a test build of gnome-shell with this change and installed it on
an affected system, it does seem to fix the bug.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
8 years agoUpdate Arabic translation
Khaled Hosny [Tue, 18 Sep 2018 10:44:00 +0000 (12:44 +0200)]
Update Arabic translation

8 years agoinputMethod: Add a null-check for text in vfunc_set_surrounding.
Andrea Azzarone [Mon, 17 Sep 2018 16:00:04 +0000 (18:00 +0200)]
inputMethod: Add a null-check for text in vfunc_set_surrounding.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/579

8 years agobuild: Fix build with gtk-doc=true
Pascal Nowack [Mon, 17 Sep 2018 12:19:13 +0000 (14:19 +0200)]
build: Fix build with gtk-doc=true

Commit a76b28bd moved the dbus-interfaces to the
dbus-interfaces directory without changing the
path for docs build as well, resulting in a fail
of the build when building with gtk_doc=true.

So change the path in the build accordingly to
ensure that the build does not fail when building
with gtk_doc=true.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/236

8 years agofileUtils: Fix fallback code for old gjs
Florian Müllner [Mon, 17 Sep 2018 10:56:37 +0000 (12:56 +0200)]
fileUtils: Fix fallback code for old gjs

gjs's D-Bus convenience explicitly expects a string representation
of an interface, but the new convenience method to load an XML
description from a resource introduced in commit f42d9df3e0 only
returns a string when using gjs from the GNOME 3.30 release. We
have so far managed to keep compatibility with the previous stable
gjs release, so fix up the fallback code to cast to string.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/578

8 years agodbus: Move all interface descriptions into the resource
Florian Müllner [Thu, 6 Sep 2018 00:55:20 +0000 (02:55 +0200)]
dbus: Move all interface descriptions into the resource

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537

8 years agofileUtils: Add helper for loading D-Bus XML from resource
Florian Müllner [Thu, 6 Sep 2018 00:04:47 +0000 (02:04 +0200)]
fileUtils: Add helper for loading D-Bus XML from resource

Commit dbf993300a moved all inline D-Bus interface descriptions to template
strings so we can stop escaping line breaks.

Unfortunately that unveiled a grave bug in xgettext, which currently cannot
handle files that contain both backtick and slash characters - as a result,
translations from affected files have started to disappear as translators
run xgettext/msgmerge.

Instead of reverting the change and getting the crusty escaping back, we
will take this as an opportunity to stop inlining the XML altogether and
load it from a resource instead.

To facilitate that, add a small helper method that loads a D-Bus interface
description from a dedicated resource bundle.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537

8 years agodata: Document org.gnome.Shell.Extensions interface
Florian Müllner [Thu, 6 Sep 2018 16:54:14 +0000 (18:54 +0200)]
data: Document org.gnome.Shell.Extensions interface

It is used by at least Software, Tweaks and the webextension, so it's
a bit odd to install documentation for lesser used interfaces but not
this one ...

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537

8 years agodata: Move D-Bus interface descriptions into a subdir
Florian Müllner [Thu, 6 Sep 2018 14:29:26 +0000 (16:29 +0200)]
data: Move D-Bus interface descriptions into a subdir

We'll soon move the inlined XML of all interfaces we export or consume into
separate files. That's a significant increase from the interfaces for which
we install documentation, so it makes sense to use a dedicated subdir.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/537

8 years agoUpdate Slovak translation
Dušan Kazik [Sun, 16 Sep 2018 06:43:25 +0000 (06:43 +0000)]
Update Slovak translation

8 years agokeyboard: Remove leftover call to get_current_time
Andrea Azzarone [Fri, 14 Sep 2018 10:18:38 +0000 (12:18 +0200)]
keyboard: Remove leftover call to get_current_time

8 years agoswitchMonitor: switch to next config upon initial keypress
Daniel Drake [Tue, 31 Jul 2018 00:17:44 +0000 (21:17 -0300)]
switchMonitor: switch to next config upon initial keypress

In GNOME-3.24, pressing Super+P or a similar function key would cause
a switch to the next available monitor configuration.

However, in GNOME-3.26, this was reimplemented in mutter and gnome-shell
and the behaviour is now different: pressing Super+P and releasing will
cause no change in montor configuration[1]. In this new design you have
to press Super+P and keep holding Super in order to keep the switcher
open, then press P again (or use the arrow keys or mouse) to
select the next one in the list.

This is incompatible with many Asus products such as Asus X530UN, where
pressing the presentation mode media key (Fn+F8) actually generates
the following keypress events from the keyboard controller:

Fn pressed: nothing
F8 pressed: nothing
F8 released: Super press, p press, p release, Super release (quick burst)
Fn released: nothing

With this firmware behaviour it's not possible to hold the keys and have
the dialog come up so that you can select another new mode.

To solve this, when the switcher is opened, select the next available
display config by default, which is more similar to the pre-GNOME-3.26
behaviour. Now pressing Fn+F8 on this laptop will result in the display
mode switch taking place.

[1]: The mentioned desired behaviour will at least happen after
https://gitlab.gnome.org/GNOME/mutter/issues/281 has been fixed

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/208

8 years agoworkspaceTracker: Don't keep multiple trailing workspaces
Florian Müllner [Wed, 5 Sep 2018 13:27:02 +0000 (15:27 +0200)]
workspaceTracker: Don't keep multiple trailing workspaces

Since we always keep the active workspace until the user switches
to a different one, we may end up with two empty workspaces at
the end. It's not obvious to users why this happens, and there's
indeed no good reason for the behavior - just remove the trailing
workspace in that case.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/536

8 years agoapp: Close all closable windows from quit()
Florian Müllner [Mon, 3 Sep 2018 15:10:27 +0000 (17:10 +0200)]
app: Close all closable windows from quit()

There's no relation between a window being hidden from overview/taskbars
and a window not being closable - currently we effectively disable the
fallback quit action for any application with open transients, which
simply doesn't make sense.

Instead, only exclude windows for which the close action has been
explicitly disabled.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/217

8 years agowindowManager: listen actively to windows being destroyed during WS switch
Carlos Garnacho [Thu, 6 Sep 2018 19:50:21 +0000 (21:50 +0200)]
windowManager: listen actively to windows being destroyed during WS switch

Prevents gjs from dealing with already dispose()d objects.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/539
8 years agowindowMenu: Port from Meta.ScreenDirection to Meta.DisplayDirection
Jürg Billeter [Tue, 11 Sep 2018 10:55:55 +0000 (12:55 +0200)]
windowMenu: Port from Meta.ScreenDirection to Meta.DisplayDirection

Meta.ScreenDirection no longer exists. This fixes window menus on
multi-monitor systems.

JS ERROR: TypeError: Meta.ScreenDirection is undefined
_buildMenu@resource:///org/gnome/shell/ui/windowMenu.js:135:17

8 years agoUpdate Dutch translation
Justin van Steijn [Sat, 8 Sep 2018 07:30:30 +0000 (07:30 +0000)]
Update Dutch translation

8 years agoUpdate Russian translation
Stas Solovey [Thu, 6 Sep 2018 19:56:09 +0000 (19:56 +0000)]
Update Russian translation

8 years agotheme: define proper :hover and :active states
Jakub Steiner [Wed, 5 Sep 2018 18:33:56 +0000 (20:33 +0200)]
theme: define proper :hover and :active states

- buttons didn't actually have these properly defined

fixes issue #523

8 years agoUpdate Belarusian translation
Yuras Shumovich [Wed, 5 Sep 2018 14:25:38 +0000 (14:25 +0000)]
Update Belarusian translation

8 years agonetwork: Don't assume the active connection has been processed first
Iain Lane [Thu, 16 Aug 2018 10:59:36 +0000 (11:59 +0100)]
network: Don't assume the active connection has been processed first

`NMConnectionDevice._sync()` is responsible for setting up the active
connection that we'll end up displaying. It expects the active
connection to already be in a map `_connectionItems`. If it isn't in
there, we get a null dereference and the indicator can get into a weird
state where it doesn't display devices / connections properly.

Let's change this expectation. If there is an active connection,
`_deviceAdded()` will eventually get to it and call `_sync()` to set up
the active connection state. We make `_sync()` tolerate there being no
active connection when it's called.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/140
8 years agoextensionSystem: Unset stylesheet file reference when unloaded
Marco Trevisan (Treviño) [Fri, 3 Aug 2018 16:19:14 +0000 (18:19 +0200)]
extensionSystem: Unset stylesheet file reference when unloaded

We must remove the GFile reference from the representing object when an
extension has been unloaded as this won't be used anymore later (e.g. as cached
ref).

8 years agojs/main: Throw error if no valid default stylesheet is found
Marco Trevisan (Treviño) [Wed, 15 Aug 2018 01:33:13 +0000 (03:33 +0200)]
js/main: Throw error if no valid default stylesheet is found

Throw an error using an informative message in case a mode uses a stylesheet
that can't be loaded, instead of crashing later because the theming can't be
properly computed, and thus the minimum size of the actors.

8 years agoextensionSystem: Unload stylesheet if extension is not loaded
Marco Trevisan (Treviño) [Fri, 3 Aug 2018 15:52:19 +0000 (17:52 +0200)]
extensionSystem: Unload stylesheet if extension is not loaded

We should not keep any reference to an extension custom stylesheet in case we
got an error while enabling that

8 years agoextensionSystem: Don't load an extension with invalid stylesheet
Marco Trevisan (Treviño) [Fri, 3 Aug 2018 15:46:27 +0000 (17:46 +0200)]
extensionSystem: Don't load an extension with invalid stylesheet

We currently assign the stylesheet to an extension whenever the file exists,
regardless of whether it actually loaded successfully or not.
And thus we load an extension that ships a stylesheet even if that file can't
be used.

There is no point in trying to load an extension if its stylesheet wasn't
loaded in the first place, so make sure this happens only on success.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/188

8 years agosearch: Ignore search provider results metas if search is cancelled
Marco Trevisan (Treviño) [Thu, 30 Aug 2018 05:11:24 +0000 (07:11 +0200)]
search: Ignore search provider results metas if search is cancelled

When a search has been cancelled, it is expected that providers don't
return the requested number of results, so don't log a warning in that
case.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205

8 years agosearch: Cancel search provider operations on clear
Marco Trevisan (Treviño) [Thu, 23 Aug 2018 16:14:38 +0000 (18:14 +0200)]
search: Cancel search provider operations on clear

Ensure that the search provider operations (just getResultMetas requests
in the current implementation) in progress are properly cancelled when we
clear the UI, otherwise returned results might still be added when not
needed.

This is triggered for each provider by the SearchResults reset.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205

8 years agoviewSelector: Cancel search on overview hidden
Marco Trevisan (Treviño) [Thu, 23 Aug 2018 14:11:10 +0000 (16:11 +0200)]
viewSelector: Cancel search on overview hidden

Currently when the overview is hidden, any pending search is kept alive,
not only at remote search provider level (as per issue #183), but even
the shell providers proxies continue to get and process data. This happens
even if this is not needed anymore, while the UI reset is performed only
next time that the overview is shown (causing some more computation
presentation time).

In order to stop this to happen, when the overview is hidden, we have to
unset the search entry to an empty value as this would make SearchResults
to have empty terms list and that would make the proxies cancellable to
be triggered (without causing any further search to start).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/205

8 years agocalendar: chain up to parent on _onDestroy
Florian Müllner [Mon, 9 Jul 2018 11:31:26 +0000 (13:31 +0200)]
calendar: chain up to parent on _onDestroy

8 years agoautomountManager: remove allowAutorun expire timeout on volume removal
Marco Trevisan (Treviño) [Wed, 4 Jul 2018 14:55:28 +0000 (16:55 +0200)]
automountManager: remove allowAutorun expire timeout on volume removal

If the volume is removed before AUTORUN_EXPIRE_TIMEOUT_SECS seconds, we can stop
the timeout earlier as there's nothing to unset, while the volume instance
won't be valid anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=791233

8 years agomessageList: stop syncing if closeButton has been destroyed
Marco Trevisan (Treviño) [Wed, 4 Jul 2018 13:56:25 +0000 (15:56 +0200)]
messageList: stop syncing if closeButton has been destroyed

The _sync function for Message only updates the close button visibility,
so we can safely stop doing that if the close button get get destroyed earlier
(as it happens when clicking on it).

https://bugzilla.gnome.org/show_bug.cgi?id=791233

8 years agodnd: Nullify _dragActor after we've destroyed it, and avoid invalid access
Marco Trevisan (Treviño) [Tue, 5 Dec 2017 21:41:17 +0000 (22:41 +0100)]
dnd: Nullify _dragActor after we've destroyed it, and avoid invalid access

We need to avoid that we use the _dragActor instance after that it has
been destroyed or we'll get errors. We now set it to null when this
happens, protecting any access to that.

Add a DragState enum-like object to keep track of the state
instead of using booleans.

Remove duplicated handler on 'destroy' and just use a generic one.

https://bugzilla.gnome.org/show_bug.cgi?id=791233

8 years agotheme: Remove unused assets
Florian Müllner [Sat, 1 Sep 2018 11:52:53 +0000 (13:52 +0200)]
theme: Remove unused assets

Spotted by monday15.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/520

8 years agoobjectManager: correct other invalid index code in onNameVanished
Ray Strode [Fri, 31 Aug 2018 16:48:00 +0000 (12:48 -0400)]
objectManager: correct other invalid index code in onNameVanished

The object manager tries to synthesize interface removal
events if the bus name of a remote object drops off the bus.

The code had bad typos in it, though: it reuses the `i`
index variable in its inner loop, where it should be using
the `j` index variable.

This commit corrects the i/j confusion.

8 years agoobjectManager: correct invalid index code in onNameVanished
Ray Strode [Fri, 31 Aug 2018 16:48:00 +0000 (12:48 -0400)]
objectManager: correct invalid index code in onNameVanished

The object manager tries to synthesize interface removal
events if the bus name of a remote object drops off the bus.

The code has a bad typo in it, though: it confuses `objectPaths`
(the list of all object paths) and `objectPath` (the object
currently being processed this iteration of the loop).

That leads to a failure to synthesize the interface removal
events, and spew in the log.

This commit corrects the objectPath/objectPaths confusion.

8 years agoBump version to 3.30.0
Florian Müllner [Mon, 3 Sep 2018 22:08:01 +0000 (00:08 +0200)]
Bump version to 3.30.0

Update NEWS.

8 years agoUpdated Danish translation
Ask Hjorth Larsen [Sun, 2 Sep 2018 20:31:00 +0000 (22:31 +0200)]
Updated Danish translation

8 years agoUpdate Croatian translation
gogo [Sun, 2 Sep 2018 16:11:23 +0000 (16:11 +0000)]
Update Croatian translation

8 years agoUpdate Swedish translation
Anders Jonsson [Sat, 1 Sep 2018 21:55:35 +0000 (21:55 +0000)]
Update Swedish translation

8 years agoFix README link
Harry Mallon [Sat, 1 Sep 2018 14:01:46 +0000 (15:01 +0100)]
Fix README link

8 years agoUpdate Finnish translation
Jiri Grönroos [Fri, 31 Aug 2018 22:14:39 +0000 (22:14 +0000)]
Update Finnish translation

8 years agoUpdate Latvian translation
Rūdolfs Mazurs [Fri, 31 Aug 2018 17:28:23 +0000 (17:28 +0000)]
Update Latvian translation

8 years agoUpdate Hungarian translation
Balázs Meskó [Fri, 31 Aug 2018 13:33:08 +0000 (13:33 +0000)]
Update Hungarian translation

8 years agoUpdated Vietnamese translation
Trần Ngọc Quân [Fri, 31 Aug 2018 07:35:16 +0000 (14:35 +0700)]
Updated Vietnamese translation

Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
8 years agojs, oVirt: Fix ES6 template string alignment
Marco Trevisan (Treviño) [Thu, 30 Aug 2018 02:49:17 +0000 (04:49 +0200)]
js, oVirt: Fix ES6 template string alignment

Fix wrong replacement of commit dbf993300a4bfbaaa8316baba7e06a9caf7b59a3
to be style-contistent with other definitions

8 years agoUpdate Galician translation
Fran Dieguez [Wed, 29 Aug 2018 21:59:01 +0000 (21:59 +0000)]
Update Galician translation

8 years agoBump version to 3.29.92
Florian Müllner [Wed, 29 Aug 2018 16:54:14 +0000 (18:54 +0200)]
Bump version to 3.29.92

Update NEWS.